//
// Created by hkkzzxz on 24-9-2.
//

#ifndef YUNSHI_IEMPLOYEESERVICE_H
#define YUNSHI_IEMPLOYEESERVICE_H

// 员工业务逻辑接口类

#include <iostream>

class IEmployeeService {
public:
    virtual ~IEmployeeService() = default;

    // 注册帐号接口
    virtual bool employRegister(const std::string &id, const std::string &name, const std::string &phoneNumber,
                                const std::string &password) = 0;

    // 忘记密码重置密码接口
    virtual bool forgetPassword(const std::string &id, const std::string &name,
                                const std::string &phoneNumber, const std::string &password) = 0;

    // 修改手机号接口
    virtual bool modifyPhoneNumber(const std::string &id, const std::string &phoneNumber,
                                   const std::string &newPhoneNumber) = 0;

    // 修改密码接口
    virtual bool modifyPassword(const std::string &id, const std::string &password,
                                const std::string &newPassword) = 0;

    // 生成指纹ID
    virtual std::string generateFingerprintID(const std::string &id) = 0;

    // 指纹考勤接口
    virtual std::string fingerprintAttendance(const std::string &fingerprintID) = 0;

    // 上传人脸考勤照片接口
    virtual bool uploadAttendancePhoto(const std::string &id, const std::string &photo) = 0;

    // 人脸考勤接口
    virtual std::string facialAttendance(const std::string &photo) = 0;

    // 查询今日考勤情况接口
    virtual std::string checkTodayAttendance(const std::string &id) = 0;

    // 查询所有考勤情况接口
    virtual std::string checkAttendance(const std::string &id) = 0;

    // 根据员工工号查询姓名
    virtual std::string getName(const std::string &id) = 0;
};

#endif //YUNSHI_IEMPLOYEESERVICE_H
